package com.ruoyi.patrol.service;

import java.io.IOException;
import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.patrol.domain.PtStaff;

/**
 * 行政人员Service接口
 *
 * @author lkm
 * @date 2022-11-14
 */
public interface IPtStaffService {
    /**
     * 查询行政人员
     *
     * @param id 行政人员ID
     * @return 行政人员
     */
    public PtStaff selectPtStaffById(Long id);

    /**
     * 查询行政人员列表
     *
     * @param ptStaff 行政人员
     * @return 行政人员集合
     */
    public List<PtStaff> selectPtStaffList(PtStaff ptStaff);

    /**
     * 新增行政人员
     *
     * @param ptStaff 行政人员
     * @return 结果
     */
    public int insertPtStaff(PtStaff ptStaff);

    /**
     * 修改行政人员
     *
     * @param ptStaff 行政人员
     * @return 结果
     */
    public int updatePtStaff(PtStaff ptStaff);

    /**
     * 批量删除行政人员
     *
     * @param ids 需要删除的行政人员ID
     * @return 结果
     */
    public int deletePtStaffByIds(Long[] ids);

    /**
     * 删除行政人员信息
     *
     * @param id 行政人员ID
     * @return 结果
     */
    public int deletePtStaffById(Long id);

    /**
     * 导入行政用户数据
     *
     * @param staffList       用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName        操作用户
     * @return 结果
     */
    public String importStaff(List<PtStaff> staffList, Boolean isUpdateSupport, String operName) throws IOException;

    String checkPhoneUnique(PtStaff ptStaff);

    String checkIdcardUnique(PtStaff ptStaff);

    int selectStaffCount(Long schoolId);

    boolean isStaffOnSchedule(Long staffId);
}
